/**
 * 同步操作
 * @description: vuex的方法（同步操作，不能有异步）
 * @author: junyong.hong
 * @createTime: 2018/5/7
 * @version: 1.0.0.0
 * @history:
 *    1、
 *    2、
 *
 */
export default {
  /**
   * 测试
   * @param state
   * @param num 只能接收一个参数（对象）
   */
  updateCount (state, { num, num2 }) {
    state.count = num
  },
  /**
   * 添加todo
   * @param state
   * @param todo
   */
  addTodo (state, todo) {
    // unshift 向数组的开头添加一个或更多元素，并返回新的长度
    state.todos.unshift(todo)
  },
  /**
   * 修改todo
   * @param state
   * @param id
   * @param todo
   */
  updateTodo (state, { id, todo }) {
    console.log('update2')
    state.todos.splice(
      state.todos.findIndex(t => t.id === id),
      1,
      todo
    )
  },
  /**
   * 删除todo
   * @param state
   * @param id
   */
  deleteTodo (state, id) {
    state.todos.splice(
      state.todos.findIndex(t => t.id === id),
      1
    )
  },
  /**
   * 批量删除todo
   * @param state
   */
  deleteAllCompleted (state) {
    state.todos = state.todos.filter(t => !t.completed)
  },
  /**
   * 获取todo列表
   * @param state
   * @param todos
   */
  fillTodos (state, todos) {
    state.todos = todos
  },
  /**
   * 登录
   * @param state
   * @param userInfo
   */
  doLogin (state, userInfo) {
    state.user = userInfo
  }
}
